package com.fulihui.wgj.dal.mybatis.domain;

import java.util.Date;
import javax.persistence.*;

@Table(name = "wx_material")
public class WxMaterial {
    /**
     * 图文消息的封面图片素材id
     */
    @Id
    @Column(name = "media_id")
    private String mediaId;

    /**
     * 公众号appid
     */
    @Column(name = "app_id")
    private String appId;

    /**
     * 素材的类型，图片（image）、视频（video）、语音 （voice）、图文（news）
     */
    private String type;

    /**
     * type为图片时存储图片地址
     */
    @Column(name = "image_url")
    private String imageUrl;

    /**
     * 微信返回的素材最后更新时间
     */
    @Column(name = "update_time")
    private Date updateTime;

    @Column(name = "gmt_create")
    private Date gmtCreate;

    @Column(name = "gmt_modified")
    private Date gmtModified;

    /**
     * 图文消息的具体内容，支持HTML标签
     */
    private String content;

    /**
     * 获取图文消息的封面图片素材id
     *
     * @return media_id - 图文消息的封面图片素材id
     */
    public String getMediaId() {
        return mediaId;
    }

    /**
     * 设置图文消息的封面图片素材id
     *
     * @param mediaId 图文消息的封面图片素材id
     */
    public void setMediaId(String mediaId) {
        this.mediaId = mediaId == null ? null : mediaId.trim();
    }

    /**
     * 获取公众号appid
     *
     * @return app_id - 公众号appid
     */
    public String getAppId() {
        return appId;
    }

    /**
     * 设置公众号appid
     *
     * @param appId 公众号appid
     */
    public void setAppId(String appId) {
        this.appId = appId == null ? null : appId.trim();
    }

    /**
     * 获取素材的类型，图片（image）、视频（video）、语音 （voice）、图文（news）
     *
     * @return type - 素材的类型，图片（image）、视频（video）、语音 （voice）、图文（news）
     */
    public String getType() {
        return type;
    }

    /**
     * 设置素材的类型，图片（image）、视频（video）、语音 （voice）、图文（news）
     *
     * @param type 素材的类型，图片（image）、视频（video）、语音 （voice）、图文（news）
     */
    public void setType(String type) {
        this.type = type == null ? null : type.trim();
    }

    /**
     * 获取type为图片时存储图片地址
     *
     * @return image_url - type为图片时存储图片地址
     */
    public String getImageUrl() {
        return imageUrl;
    }

    /**
     * 设置type为图片时存储图片地址
     *
     * @param imageUrl type为图片时存储图片地址
     */
    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl == null ? null : imageUrl.trim();
    }

    /**
     * 获取微信返回的素材最后更新时间
     *
     * @return update_time - 微信返回的素材最后更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置微信返回的素材最后更新时间
     *
     * @param updateTime 微信返回的素材最后更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * @return gmt_create
     */
    public Date getGmtCreate() {
        return gmtCreate;
    }

    /**
     * @param gmtCreate
     */
    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    /**
     * @return gmt_modified
     */
    public Date getGmtModified() {
        return gmtModified;
    }

    /**
     * @param gmtModified
     */
    public void setGmtModified(Date gmtModified) {
        this.gmtModified = gmtModified;
    }

    /**
     * 获取图文消息的具体内容，支持HTML标签
     *
     * @return content - 图文消息的具体内容，支持HTML标签
     */
    public String getContent() {
        return content;
    }

    /**
     * 设置图文消息的具体内容，支持HTML标签
     *
     * @param content 图文消息的具体内容，支持HTML标签
     */
    public void setContent(String content) {
        this.content = content == null ? null : content.trim();
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", mediaId=").append(mediaId);
        sb.append(", appId=").append(appId);
        sb.append(", type=").append(type);
        sb.append(", imageUrl=").append(imageUrl);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", gmtCreate=").append(gmtCreate);
        sb.append(", gmtModified=").append(gmtModified);
        sb.append(", content=").append(content);
        sb.append("]");
        return sb.toString();
    }
}